From: Iceyer Date: Wed, 26 Jul 2017 04:53:42 +0000 (+0800) Subject: Merge util X-Git-Tag: archive/raspbian/5.7.12-2+rpi1^2~196 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f78f89a5a79968452c3a1d93e4cf011704b0745f;p=dtkcore.git Merge util --- diff --git a/src/base/DObjectPrivate b/src/base/DObjectPrivate index 0cb1acd..0c145c8 100644 --- a/src/base/DObjectPrivate +++ b/src/base/DObjectPrivate @@ -1 +1 @@ -#include "private/dobject_p.h" +#include "dobject_p.h" diff --git a/src/base/base.pri b/src/base/base.pri index 39370ac..fd52fce 100644 --- a/src/base/base.pri +++ b/src/base/base.pri @@ -8,6 +8,8 @@ SOURCES += \ $$PWD/dobject.cpp includes.files += $$PWD/*.h +includes.files += $$PWD/private/*.h includes.files += \ $$PWD/DObject \ + $$PWD/DObjectPrivate \ $$PWD/DSingleton diff --git a/src/base/private/dobject_p.h b/src/base/private/dobject_p.h index c718f12..9a431cc 100644 --- a/src/base/private/dobject_p.h +++ b/src/base/private/dobject_p.h @@ -11,10 +11,10 @@ #define DOBJECT_P_H #include "dtkcore_global.h" -#include "../dobject.h" DCORE_BEGIN_NAMESPACE +class DObject; class DObjectPrivate { public: diff --git a/src/dtkcore_global.h b/src/dtkcore_global.h index c75a656..6efee2f 100644 --- a/src/dtkcore_global.h +++ b/src/dtkcore_global.h @@ -24,7 +24,7 @@ #else # define DCORE_BEGIN_NAMESPACE namespace DTK_NAMESPACE { namespace DCORE_NAMESPACE { # define DCORE_END_NAMESPACE }} -# define DCORE_USE_NAMESPACE using namespace DCORE_NAMESPACE; +# define DCORE_USE_NAMESPACE using namespace DTK_CORE_NAMESPACE; #endif diff --git a/src/settings/DOption b/src/settings/DOption index 08b6341..9c180d5 100644 --- a/src/settings/DOption +++ b/src/settings/DOption @@ -1 +1 @@ -#include "option.h" +#include "dsettingsoption.h" diff --git a/src/settings/DSettings b/src/settings/DSettings index d90bd07..572ed1b 100644 --- a/src/settings/DSettings +++ b/src/settings/DSettings @@ -1 +1 @@ -#include "settings.h" +#include "dsettings.h" diff --git a/src/src.pro b/src/src.pro index d884720..f9af173 100644 --- a/src/src.pro +++ b/src/src.pro @@ -13,6 +13,7 @@ HEADERS += \ $$PWD/dtkcore_global.h \ include($$PWD/base/base.pri) +include($$PWD/util/util.pri) include($$PWD/log/log.pri) include($$PWD/filesystem/filesystem.pri) include($$PWD/settings/settings.pri) diff --git a/src/util/DUtil b/src/util/DUtil new file mode 100644 index 0000000..2dc0935 --- /dev/null +++ b/src/util/DUtil @@ -0,0 +1 @@ +#include "dutil.h" diff --git a/src/util/dutil.h b/src/util/dutil.h new file mode 100644 index 0000000..376e9fc --- /dev/null +++ b/src/util/dutil.h @@ -0,0 +1,38 @@ +/** + * Copyright (C) 2016 Deepin Technology Co., Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + **/ + +#pragma once + +#include +#include +#include +#include + +namespace DUtil +{ + +template +inline void TimerSingleShot(int msec, Func1 slot) +{ +#if QT_VERSION >= 0x050500 + QTimer::singleShot(msec, slot); +#else + QTimer *timer = new QTimer; + timer->setSingleShot(true); + timer->setInterval(msec); + timer->moveToThread(qApp->thread()); + QObject::connect(timer, &QTimer::timeout, slot); + QObject::connect(timer, &QTimer::timeout, timer, &QTimer::deleteLater); + if (QThread::currentThread() == qApp->thread()) { timer->start(); } + else { QMetaObject::invokeMethod(timer, "start", Qt::QueuedConnection); } +#endif +} + + +} diff --git a/src/util/util.pri b/src/util/util.pri new file mode 100644 index 0000000..4d3e866 --- /dev/null +++ b/src/util/util.pri @@ -0,0 +1,6 @@ +HEADERS += \ + $$PWD/dutil.h + +includes.files += $$PWD/*.h +includes.files += \ + $$PWD/DUtil